package com.pds.web.app.controller;

import com.pds.common.core.controller.BaseController;
import com.pds.common.core.domain.R;
import com.pds.common.core.page.TableDataInfo;
import com.pds.web.app.service.IAppVersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @author chenguixu
 * App版本配置
 */
@RestController
@RequestMapping("/appVersion")
public class AppVersionController extends BaseController {

    @Autowired
    IAppVersionService appVersionService;

    /**
     * 设置app版本信息
     * @param map
     *         -versionCode      版本号
     *         -versionName      版本名称
     *         -versionInfo      版本信息
     *         -updateType       更新类型：forcibly = 强制更新, solicit = 弹窗确认更新, silent = 静默更新
     *         -downloadUrl      版本下载链接（IOS安装包更新请放跳转store应用商店链接,安卓apk和wgt文件放文件下载链接）
     * @return
     */
    @PostMapping("/add")
    public R add(@RequestBody Map map) throws Exception {
        appVersionService.add(map);
        return R.ok();
    }

    /**
     * 检查是否有需要更新的最新版本
     * @param versionCode 当前app版本号
     * @return
     * @throws Exception
     */
    @GetMapping("/check")
    public R check(@RequestParam("versionCode") int versionCode) throws Exception {
        Map map = appVersionService.check(versionCode);
        return R.ok(map);
    }


    /**
     * 历史版本查询列表
     * @return
     * @throws Exception
     */
    @GetMapping("/getAppVersionList")
    public TableDataInfo getAppVersionList() throws Exception {
        startPage();
        List<Map> list = appVersionService.getAppVersionList();
        return getDataTable(list);
    }


}
